Google の事後分析 (ポストモーテム) 文化
概要
大規模で複雑な分散システムを使用しており、常に新しい機能でサービスを強化し、新しいシステムを追加しているため、インシデントと停止は避けられない
インスデントから学習するプロセスが整っていないと、無限に再発する可能性がある
事後分析 : インシデント、その影響、インシデントを軽減または解決するために実行されたアクション、根本原因、およびインシデントの再発を防ぐためのフォローアップアクションの記録
この章では、事後分析をいつ実施するかを決める基準、事後分析に関するいくつかのベストプラクティス、および長年にわたって得た経験に基づいて事後分析文化を育む方法に関する助言を説明
Google の事後分析の哲学
事後分析を作成する主な目的は、インシデントを文書化し、原因となるすべての根本原因を十分に理解し、特に、再発の可能性や影響を軽減するための効果的な予防措置を講じること
Google のチームは、根本原因分析にさまざまな手法を使用し、サービスに最適な手法を選択する
重大な望ましくないできごとの後に、事後分析がなされる
事後分析を書くことは罰ではなく、それは会社全体にとって学習の機会
事後処理には時間や労力の面で固有のコストがかかるため、いつ作成するかを慎重に選択する
一般的な事後分析のきっかけ :
ユーザーに見えるダウンタイムまたは特定のしきい値を超える劣化
あらゆる種類のデータ損失
オンコールエンジニアの介入 (リリースロールバック、トラフィックの再ルーティングなど)
あるしきい値を超える解決時間
監視の失敗 (通常は手動のインシデント検出)
インシデント発生前に基準を明確にしておく
非難のない事後分析が重要
人は変更することはできないが、システムとプロセスを変更して、人が正しい選択をすることを助けることはできる
非難して不満を発散させるのではなく、サービスをどこをどのように改善できるかを説明する
ベストプラクティス:非難を避け、建設的に
事後分析では、インシデントの原因となったアクションが明確に識別される → 非難のない事後分析を作成するのは挑戦的
事後分析から非難を取り除くことは、人々に恐れることなく問題をエスカレートする自信を与える
人やチームによる事後分析の頻繁な生産を非難しないことも重要です
非難の雰囲気は、事件や問題を気づかぬうちに取り除く文化を生み出すリスクがあり、組織にとってより大きなリスクにつながる
協力と知識を共有
事後分析のあらゆる段階でも協力と知識の共有ができる
重要な機能
リアルタイムの協力 : データとアイデアの迅速な収集。 事後分析の初期に不可欠
オープンなコメント/注釈システム : クラウドソーシングソリューションを簡単にし、カバレッジを向上
電子メール通知 : ドキュメント内の共同編集者に向けたり、他の人に向けて入力を提供したり
事後分析には正式なレビューと公開も含まれる
チームは最初の事後分析ドラフトを社内で共有し、上級エンジニアのグループにドラフトの完全性を評価するように依頼
レビュー基準
後世のために重要なインシデントデータが収集されたか?
影響評価は完了しているか?
根本原因は十分に深いものになったか?
アクションプランは適切で、結果として生じるバグ修正は適切な優先順位で行われているか?
結果を関連する利害関係者と共有したか?
最初のレビュー後に、より広く共有される
ベストプラクティス : レビューを必ずやること
漏れがないように定期的なレビュー会議を設けるのが良い
その場では、進行中の議論やコメントを閉じて、アイデアを集めて、文書を最終化していくのが大事
完成した事後分析は、チームや組織の過去のインシデントのリポジトリに追加
透過的に共有することで、広く学びを共有
事後分析文化の導入
事後分析文化を組織に導入することは、口で言うほど簡単ではない
上級マネジャーがレビューとコラボレーションのプロセスに積極的に参加することで協力文化を強化
経営陣はこの文化を奨励することができるが、非難のない事後分析は、理想的にはエンジニアの自己動機付けの産物
学んだことを広める活動 : 「今月の事後分析」 のニュースレター、Google+ の事後分析グループ、事後分析の読書会、不幸の輪 (Wheel of Misfortune; Disaster Role Playing 参照) など 導入の障壁の一つは、事後分析のコストの高さから、その価値に疑問を呈する人がいること
対策
ゆるやかにワークフローに組み込む (試しの期間を設けるなど)
効果的な事後分析が、学習の共有という意味でも、個人やチームのパフォーマンスマネジメントの観点でも報われるものであり、奨励されるものであるということを確認する
上級リーダーシップの承認や参加を奨励
ベストプラクティス : 正しいことをしたことに対して目に見える報奨を与える
ベストプラクティス : 事後分析の有効性についてのフィードバックを求める
質問の例 : 事後分析文化はあなたの仕事を支えていますか? 事後分析を書くことは多くの労力を伴いますか? あなたのチームが他のチームに推奨するベストプラクティスは何ですか? どんなツールを開発してほしいですか?